"""
配置文件
包含系统的各种配置参数
"""

import os
from pathlib import Path

class Config:
    """系统配置类"""
    
    # 项目根目录
    PROJECT_ROOT = Path(__file__).parent
    
    # 文件存储路径
    UPLOAD_DIR = PROJECT_ROOT / "uploads"
    REPORTS_DIR = PROJECT_ROOT / "reports"
    TEMPLATES_DIR = PROJECT_ROOT / "templates"
    STATIC_DIR = PROJECT_ROOT / "static"
    
    # 确保目录存在
    UPLOAD_DIR.mkdir(exist_ok=True)
    REPORTS_DIR.mkdir(exist_ok=True)
    TEMPLATES_DIR.mkdir(exist_ok=True)
    STATIC_DIR.mkdir(exist_ok=True)
    
    # AI模型配置
    OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "")
    OPENAI_MODEL_GPT4 = "gpt-4"
    OPENAI_MODEL_GPT35 = "gpt-3.5-turbo"

    # 阿里云通义千问配置
    DASHSCOPE_API_KEY = os.getenv("DASHSCOPE_API_KEY", "")
    DASHSCOPE_BASE_URL = "https://dashscope.aliyuncs.com/compatible-mode/v1"
    QWEN_MODEL = "qwen-max"
    
    # 文件处理配置
    MAX_FILE_SIZE = 10 * 1024 * 1024  # 10MB
    ALLOWED_EXTENSIONS = {'.pdf', '.docx', '.doc', '.txt'}
    
    # 分析配置
    DEFAULT_TEMPERATURE = 0.3  # AI模型温度参数
    MAX_TOKENS = 4000  # 最大token数
    
    # 审核类型配置
    REVIEW_TYPES = {
        "风险识别": "risk_identification",
        "合规检查": "compliance_check", 
        "条款分析": "clause_analysis",
        "法律建议": "legal_advice"
    }
    
    # 风险等级配置
    RISK_LEVELS = {
        "低": {"score_range": (80, 100), "color": "green"},
        "中": {"score_range": (60, 79), "color": "orange"},
        "高": {"score_range": (0, 59), "color": "red"}
    }
    
    # 合同类型配置
    CONTRACT_TYPES = [
        "劳动合同",
        "销售合同", 
        "采购合同",
        "服务合同",
        "租赁合同",
        "保密协议",
        "合作协议",
        "其他"
    ]
    
    # 审核模板配置
    ANALYSIS_PROMPTS = {
        "risk_identification": """
        请仔细分析以下合同内容，识别其中可能存在的风险点：
        
        重点关注以下方面：
        1. 责任条款是否公平合理
        2. 违约责任是否过重
        3. 免责条款是否合理
        4. 付款条件是否有风险
        5. 终止条件是否明确
        6. 争议解决机制是否完善
        
        合同内容：
        {contract_content}
        
        请以JSON格式返回分析结果，包含：
        - risks: 风险列表
        - risk_level: 风险等级(高/中/低)
        - score: 风险评分(0-100)
        - details: 详细分析
        """,
        
        "compliance_check": """
        请检查以下合同是否符合相关法律法规：
        
        检查要点：
        1. 是否违反《合同法》相关规定
        2. 条款是否符合行业规范
        3. 是否存在显失公平的条款
        4. 格式条款是否合规
        5. 必备条款是否齐全
        
        合同内容：
        {contract_content}
        
        请以JSON格式返回检查结果。
        """,
        
        "clause_analysis": """
        请详细分析以下合同的重要条款：
        
        分析重点：
        1. 合同主体信息
        2. 标的物或服务内容
        3. 价款或报酬条款
        4. 履行期限和地点
        5. 违约责任条款
        6. 争议解决条款
        
        合同内容：
        {contract_content}
        
        请以JSON格式返回分析结果。
        """,
        
        "legal_advice": """
        基于以下合同内容，请提供专业的法律建议：
        
        建议方向：
        1. 如何降低合同风险
        2. 需要补充或修改的条款
        3. 签署前的注意事项
        4. 履行过程中的风险防范
        
        合同内容：
        {contract_content}
        
        请以JSON格式返回建议内容。
        """
    }
    
    # 报告模板
    REPORT_TEMPLATE = """
# 合同审核报告

## 基本信息
- **文件名**: {filename}
- **审核时间**: {review_time}
- **审核类型**: {review_types}
- **总体评分**: {overall_score}/100

## 审核结果摘要
{summary}

## 详细分析
{detailed_analysis}

## 风险提示
{risks}

## 改进建议
{recommendations}

---
*本报告由AI合同审核系统自动生成*
"""
